package fejezet20;

import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.util.Vector;
import javax.swing.*;

public class Hivatkozások1 extends JApplet
    implements ActionListener, MouseMotionListener {    //1

  class Hivatkozás {                                    //2
    public String rövidítés, url;
    public JButton bt;

    public Hivatkozás(String rövidítés, String url) {   //3
      this.rövidítés=rövidítés;
      this.url=url;
      bt=new JButton(rövidítés);                        //4
      bt.setToolTipText(url);
      bt.setCursor(new Cursor(Cursor.HAND_CURSOR));     //5
    }
  }

  private Vector<Hivatkozás> hivatkozás=
    new Vector<Hivatkozás>();                           //6

  @Override
  public void init() {                                  //7
    hivatkozás.add(new Hivatkozás(                      //8
      "Google", "http://www.google.hu"));
    hivatkozás.add(new Hivatkozás(
      "Yahoo!", "http://www.yahoo.com"));
    hivatkozás.add(new Hivatkozás(
      "MEK", "http://mek.oszk.hu"));
    hivatkozás.add(new Hivatkozás("Friss NetBeans",
      "http://netbeans.org/downloads/index.html"));
    hivatkozás.add(new Hivatkozás("Friss JDK",
      "http://www.oracle.com/technetwork/java/javase/"+
        "downloads/index.html"));
    setLayout(new FlowLayout());                        //9
    for(Hivatkozás elem: hivatkozás) {                 //10
      add(elem.bt);                                    //11
      elem.bt.addActionListener(this);                 //12
      elem.bt.addMouseMotionListener(this);            //13
    }
  }

  @Override
  public void stop() {
    hivatkozás.clear();                                //14
  }

  public void actionPerformed(ActionEvent e) {         //15
    try {
      URL url=new URL(
        ((JButton)e.getSource()).getToolTipText());    //16
      getAppletContext().showDocument(url, "TARTALOM");//17
    }
    catch(MalformedURLException ex) {                  //18
      getAppletContext().showStatus("Hibás URL!");     //19
    }
  }

  public void mouseDragged(MouseEvent e) {
    ;
  }

  public void mouseMoved(MouseEvent e) {               //20
    String rövidítés=
      ((JButton)e.getSource()).getText();              //21
    int i=0;
    while(!hivatkozás.get(i).rövidítés.equals(rövidítés))
      i++;
    getAppletContext().
      showStatus(hivatkozás.get(i).url);               //22
  }
}